Total Complexity | 1 |
Total Lines | 17 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 0 |
1 | import {IObserver, IObserverAdapter} from '../../Observer/Observer'; |
||
4 | |||
5 | export default class ActiveTranslatorAdapter implements IObserverAdapter<string> { |
||
6 | protected baseAdapter: IObserverAdapter<string>; |
||
7 | protected manager: Manager; |
||
8 | protected activeTranslator: IObserver<Translator>; |
||
9 | |||
10 | constructor(baseAdapter: IObserverAdapter<string>, manager: Manager, activeTranslator: IObserver<Translator>) { |
||
11 | 2 | this.activeTranslator = activeTranslator; |
|
12 | 2 | this.baseAdapter = baseAdapter; |
|
13 | 2 | this.manager = manager; |
|
14 | } |
||
15 | |||
16 | onChange(oldValue: string, newValue: string): void { |
||
17 | 1 | this.manager.getTranslator(newValue).then( |
|
18 | (translator: Translator): void => { |
||
19 | 1 | this.activeTranslator.value = translator; |
|
20 | 1 | this.baseAdapter.onChange(oldValue, newValue); |
|
21 | } |
||
24 | } |